package com.naiterui.ehp.bp.bo.im;

import java.util.List;

/**
 * 购药咨询
 *
 * @author Ldl
 * @since 2.14
 */
public class RequireDrugBO {

    /**
     * 原始推送时间：<code>originSendTime</code>
     */
    private Long originSendTime;

    /**
     * 购药咨询标识：<code>requireId</code>
     */
    private Long requireId;

    /**
     * 购药咨询到期时间点
     */
    private Long expireTime;

    /**
     * 原推荐单ID
     */
    private Long recommendId;

    private Long patientId;

    private Long doctorId;


    /**
     * 附加启示消息
     */
    private AdditionalNoticeBO additionalNotice;

    /**
     * 购药咨询，用药明细
     */
    private List<RequireDrugItemBO> items;

    /**
     * 构造函数
     */
    public RequireDrugBO() {
        // TODO Auto-generated constructor stub
    }

    public static class RequireDrugItemBO {

        /**
         * 构造函数
         */
        public RequireDrugItemBO() {
            // TODO Auto-generated constructor stub
        }

        /**
         * 规格
         */
        private String spec;

        /**
         * 组合套餐
         */
        private String combin;

        /**
         * 商编 药品编号
         */
        private Long productId;

        /**
         * SKU ID
         */
        private Long skuId;

        /**
         * 商品名称
         */
        private String productName;

        /**
         * 购买数量
         */
        private Integer quantity;

        /**
         * 通用药名
         */
        private String commonName;

        /**
         * 构造函数
         *
         * @param spec
         * @param combin
         * @param productId
         * @param skuId
         * @param productName
         * @param quantity
         * @param commonName
         */
        public RequireDrugItemBO(String spec, String combin, Long productId, Long skuId, String productName, Integer quantity, String commonName) {
            super();
            this.spec = spec;
            this.combin = combin;
            this.productId = productId;
            this.skuId = skuId;
            this.productName = productName;
            this.quantity = quantity;
            this.commonName = commonName;
        }

        public String getSpec() {
            return this.spec;
        }

        public void setSpec(String spec) {
            this.spec = spec;
        }

        public String getCombin() {
            return this.combin;
        }

        public void setCombin(String combin) {
            this.combin = combin;
        }

        public Long getProductId() {
            return this.productId;
        }

        public void setProductId(Long productId) {
            this.productId = productId;
        }

        public Long getSkuId() {
            return this.skuId;
        }

        public void setSkuId(Long skuId) {
            this.skuId = skuId;
        }

        public String getProductName() {
            return this.productName;
        }

        public void setProductName(String productName) {
            this.productName = productName;
        }

        public Integer getQuantity() {
            return this.quantity;
        }

        public void setQuantity(Integer quantity) {
            this.quantity = quantity;
        }

        public String getCommonName() {
            return this.commonName;
        }

        public void setCommonName(String commonName) {
            this.commonName = commonName;
        }

        @Override
        public String toString() {
            return "RequireDrugItemBO [spec=" + this.spec + ", combin=" + this.combin + ", productId=" + this.productId + ", skuId=" + this.skuId + ", productName="
                    + this.productName + ", quantity=" + this.quantity + ", commonName=" + this.commonName + "]";
        }

    }

    /**
     * @return List<RequireDrugItem> 取得域 items 的方法。
     */
    public List<RequireDrugItemBO> getItems() {
        return this.items;
    }

    /**
     * @param items 对域 items 的设置方法.
     */
    public void setItems(List<RequireDrugItemBO> items) {
        this.items = items;
    }

    public Long getExpireTime() {
        return this.expireTime;
    }

    public void setExpireTime(Long expireTime) {
        this.expireTime = expireTime;
    }

    /**
     * @return Long 取得域 requireId 的方法。
     */
    public Long getRequireId() {
        return this.requireId;
    }

    /**
     * @param requireId 对域 requireId 的设置方法.
     */
    public void setRequireId(Long requireId) {
        this.requireId = requireId;
    }

    /**
     * @return Long 取得域 originSendTime 的方法。
     */
    public Long getOriginSendTime() {
        return this.originSendTime;
    }

    /**
     * @param originSendTime 对域 originSendTime 的设置方法.
     */
    public void setOriginSendTime(Long originSendTime) {
        this.originSendTime = originSendTime;
    }

    public Long getRecommendId() {
        return this.recommendId;
    }

    public void setRecommendId(Long recommendId) {
        this.recommendId = recommendId;
    }

    public AdditionalNoticeBO getAdditionalNotice() {
        return this.additionalNotice;
    }

    public void setAdditionalNotice(AdditionalNoticeBO additionalNotice) {
        this.additionalNotice = additionalNotice;
    }

    public Long getPatientId() {
        return this.patientId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public Long getDoctorId() {
        return this.doctorId;
    }

    public void setDoctorId(Long doctorId) {
        this.doctorId = doctorId;
    }

    @Override
    public String toString() {
        return "RequireDrugBO [originSendTime=" + this.originSendTime + ", requireId=" + this.requireId + ", expireTime=" + this.expireTime + ", recommendId="
                + this.recommendId + ", patientId=" + this.patientId + ", doctorId=" + this.doctorId + ", additionalNotice=" + this.additionalNotice + ", items=" + this.items
                + "]";
    }

}
